Recent advances in three dimensional (3D) data-acquisition hardware have facilitated the increasing use of scanning techniques to document the geometry of physical objects. For example, an object may be scanned for archival purposes or as a step in the design of new products. Recently, there has been a proliferation of scanning equipment and algorithms for synthesizing models from scanned data. For a more detailed discussion of research in this field, see, for example, F. Bernardini, C. Bajaj, J. Chen, and D. Schikore, “Automatic reconstruction of 3D CAD models from digital scans,” International Journal of Computational Geometry and Applications, Vol. 9, no. 4 & 5, pp. 327–370, August–October 1999; R. Mencl and H. Muller, “Interpolation and approximation of surfaces from three-dimensional scattered data points,” in Proc. of Eurographics '98, State of the Art Reports (1998), incorporated by reference herein.
In order to represent the geometry of an object using a computer model, a continuous representation of the object surface must be computed from the scan data that captures features having a length scale of at least 2d, where d is a value dictated by the application. In order to capture features of scale 2d, the surface must be sampled with a spatial resolution of d or less. The surface may consist of large areas that can be sufficiently approximated by much sparser meshes. However, in the absence of a priori information, the scanning must start with a sampling resolution of d or less to guarantee that no feature is missed.
An ideal acquisition system returns samples lying exactly on the object surface. Any real measurement system, however, introduces some error. Nonetheless, if a system returns samples with an error that is orders of magnitude smaller than the minimum feature size, the sampling can generally be regarded as “perfect.” A surface can then be reconstructed by finding an interpolating mesh without additional operations on the measured data. Most scanning systems still need to account for acquisition error. There are two sources of error: error in registration and error along the sensor line of sight. Estimates of actual surface points are usually derived by averaging samples from redundant scans. These estimates are then connected into a triangle mesh.
Most methods for estimating surface points depend on data structures that facilitate the construction of the mesh. Two classes of methods have been successfully used for large data sets. Both methods assume negligible registration error and compute estimates to correct for line-of-sight error. The first of these classes is referred to as volumetric methods, such as those discussed, for example, in B. Curless and M. Levoy, “A volumetric method for building complex models from range images,” in Computer Graphics Proceedings, 1996, Annual Conference Series, Proceedings of SIGGRAPH 96, PP. 303–312, incorporated by reference herein. In volumetric methods, individual aligned meshes are used to compute a signed-distance function on a volume grid encompassing the object. Estimated surface points are computed as the points on the grid where the distance function is zero. The structure of the volume then facilitates the construction of a mesh using the marching cubes algorithm, described in W. Lorensen and H. Cline, “Marching cubes: a high resolution 3d surface construction algorithm,” Comput. Graph., vol. 21, no. 4, pp. 163–170, 1987, incorporated by reference herein.
The second class of methods are mesh stitching methods, such as the technique described in M. Soucy and D. Laurendeau, “A general surface approach to the integration of a set of range views,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 17, no. 4, pp. 344–358, April 1995, incorporated by reference herein. Disjoint height-field meshes are stitched into a single surface. Disjoint regions are defined by finding areas of overlap of different subsets of the set of scans. Estimated surface points for each region are computed as weighted averages of points from the overlapping scans. Estimated points in each region are then re-triangulated, and the resulting meshes are stitched into a single mesh. Turk and Levoy developed a similar method, described in G. Turk and M. Levoy, “Zippered polygonal meshes from range images,” in Computer Graphics Proceedings, 1994, Annual Conference Series. Proceedings of SIGGRAPH 94, pp. 311–318, incorporated by reference herein, which first stitches (or zippers) the disjoint meshes and then computes estimated surface points.
In both classes of methods, the method of estimating surface points need not be so closely linked to the interpolating method for constructing the final mesh. In the volumetric approach, a technique other than marching cubes could be used for finding a triangle mesh passing through the estimated surface points. In the mesh-joining approaches, a technique for finding a mesh connecting all estimated surface points could be used in place of stitching together the existing meshes. Most importantly, with an efficient algorithm for computing a mesh which joins points, any method for computing estimated surface points could be used, including those that do not impose additional structure on the data and do not treat registration and line-of-sight error separately. For example, it has been demonstrated that reducing error in individual meshes before alignment can reduce registration error. See, C. Dorai, G. Wang, A. K. Jain, and C. Mercer, “Registration and integration of multiple object views for 3D model construction,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, no. 1, pp. 83–89, January 1998, incorporated by reference herein.
Existing interpolating techniques fall into two categories, namely, sculpting-based and region-growing techniques. Generally, in sculpting-based methods, a volume tetrahedralization is computed from the data points, typically the three-dimensional Delaunay triangulation. Tetrahedra are then removed from the convex hull to extract the original shape. For a more detailed discussion of sculpting-based methods, see, for example, C. Bajaj, F. Bernardini, and G. Xu, “Automatic reconstruction of surfaces and scalar fields from 3D scans,” in Computer Graphics Proceedings, 1995, Annual Conference Series. Proceedings of SIGGRAPH 95, pp. 109–118; N. Amenta, M. Bern, and M. Kamvysselis, “A new voronoi-based surface reconstruction algorithm,” in Proc.SIGGRAPH '98, July 1998, Computer Graphics Proceedings, Annual Conference Series, PP. 415–412; F. Bernardini, C. Bajaj, J. Chen, and D. Schikore, “Automatic reconstruction of 3D CAD models from digital scans,” International Journal of Computational Geometry and Applications, Vol. 9, no. 4 & 5, pp. 327–370, August–October 1999, each incorporated by reference herein. Generally, region-growing methods start with a seed triangle, consider a new point and join it to the existing region boundary, and continue until all points have been considered. For a more detailed discussion of region-growing methods, see, for example, J. D. Boissonnat, “Geometric structures for three-dimensional shape representation,” ACM Trans. Graph., vol. 3, no. 4, pp. 266–286, 1984; R. Mencel, “A graph-based approach to surface reconstruction,” Computer Graphics Forum, vol. 14, no. 3, pp. 445–456, 1995, Proc. of EUROGRAPHICS '95; A. Hilton, A. Stoddart, J. Illingworth, and T. Windeatt, “Marching triangles: Range image fusion for complex object modelling,” in Proc of IEEE International Conference on Image Processing, Laussane, 1996, vol. 2, pp. 381–384; incorporated by reference herein.
The strength of sculpting-based approaches is that they often provide theoretical guarantees for the quality of the resulting surface, e.g., that the topology is correct, and that the surface converges to the true surface as the sampling density increases. See, for example, F. Bernardini and C. Bajaj, “Sampling and reconstructing manifolds using alpha-shapes, in Proc. of the Ninth Canadian Conference on Computational Geometry, August 1997, pp. 193–198, Updated online version available at www.qucis.queensu.ca/cccg97; Nina Amenta and Marshall Bern, “Surface reconstruction by voronoi filtering,” in Proc. 14the Annual ACM Sympos. Comput. Geom., 1998, pp. 39–48; incorporated by reference herein. However, computing the required three-dimensional Delaunay triangulation can be prohibitively expensive in terms of time and memory required, and can lead to numerical instability when dealing with data sets of millions of points.
A need therefore exists for a method and apparatus for finding a triangle mesh that retains the strengths of previous interpolating techniques in a method that exhibits linear time complexity and robustness on real scanned data. A further need exists for a method and apparatus for finding a triangle mesh that interpolates an unorganized set of points. A further need exists for a surface reconstruction method that moves samples within known scanner error bounds to conform the meshes to one another as they are aligned. Yet another need exists for a surface reconstruction method that finds an interpolating mesh from measured data even if it contains uncompensated error.